package com.yswy.domain.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.yswy.domain.common.BasePojo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("周期扣款签约记录")
@TableName(value = "agreemen_order")
public class AgreementOrder extends BasePojo<AgreementOrder> {
    @ApiModelProperty("用户 Id")
    private Long userId ;
    @ApiModelProperty("订单号")
    private String orderId ;
    @ApiModelProperty("订单id")
    private Long payOrderId;
    @ApiModelProperty("支付宝Id")
    private Long zfbId ;
    @ApiModelProperty("支付宝appID")
    private String appId;
    @ApiModelProperty("解约方式 0 系统解约   1 客户解约")
    private Integer unsignType ;

    @ApiModelProperty("考核id（回传信息表）")
    private Long  vipId ;
    @ApiModelProperty("配置类型  0 正常   1 39  到99")
    private Integer agreemenType;
    @ApiModelProperty("period_type 周期类型，枚举值为DAY和MONTH")
    private String periodType;
    @ApiModelProperty("period 扣款周期")
    private Long period;
    @ApiModelProperty("execute_time 首次执行时间")
    private String executeTime;
    @ApiModelProperty("single_amount 单次扣款最大金额")
    private Integer singleAmount;
    @ApiModelProperty("首期付款价格(分)")
    private Integer singleAmountOne;
    @ApiModelProperty("total_amount 总金额限制")
    private Integer totalAmount;
    @ApiModelProperty("total_payments 总扣款次数")
    private Integer totalPayments;

    @ApiModelProperty("当天收款延后时间 （小时）")
    private Integer collTime;
    @ApiModelProperty("当天收款延后时间类型")
    private String collTimeType;
    @ApiModelProperty("每期扣款次数")
    private Integer agreemenPayNum;


    @ApiModelProperty("是否是新手套餐 0:不是 1:是")
    private Boolean isDisposable;

    @ApiModelProperty("agreement_no 支付宝系统中用以唯一标识用户签约记录的编号")
    private String agreementNo;
    @ApiModelProperty("external_agreement_no 商户签约号")
    private String externalAgreementNo;
    @ApiModelProperty("alipay_user_id 用户签约的支付宝账号对应的支付宝唯一用户号")
    private String alipayUserId;
    @ApiModelProperty("status      协议的当前状态。0 create 创建 1. TEMP：暂存，协议未生效过；2. NORMAL：正常；3. STOP：暂停。（只有签约成功才会返回）")
    private Integer status;
    @ApiModelProperty("status_type 协议的当前状态。0 create 创建 1. TEMP：暂存，协议未生效过；2. NORMAL：正常；3. STOP：暂停。（只有签约成功才会返回）")
    private String statusType;
    @ApiModelProperty("alipay_logon_id 脱敏的支付宝账号")
    private String alipayLogonId;
    @ApiModelProperty("sign_time 支付宝代扣协议的实际签约时间")
    private Date signTime;
    @ApiModelProperty("notify_time ")
    private Date notifyTime;
    @ApiModelProperty("valid_time  用户代扣协议的实际生效")
    private Date validTime;
    @ApiModelProperty("invalid_time 用户代扣协议的失效时")
    private Date invalidTime;

    @ApiModelProperty("callback_parameter 回调成功数据 ")
    private String callbackParameter ;




}
